package cn.com.pdfdemo.pdfUtil.annotation;


import cn.com.pdfdemo.pdfUtil.Enums.ContextTypeEnums;
import com.itextpdf.layout.property.TextAlignment;

import java.lang.annotation.*;

/**
 * 单元格属性
 * 
 * @author wangyw
 */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface CellProperty
{
    /**
     * 属性名称
     * */
    String name() default "";

    /**
     * 是否显示属性名
     * */
    boolean isShowName() default true;
    /**
     * 是否标题
     * */
    boolean isHead() default false;
    /**
     * 当前单元格占几行
     * */
    int rowspan() default 1;
    /**
     * 当前单元格占几列 默认属性名和内容 一共两列
     * */
    int colspan() default 1;
    /**
     * 当前单元格占几行
     * */
    int namerowspan() default 1;
    /**
     * 当前单元格占几列 默认属性名和内容 一共两列
     * */
    int namecolspan() default 1;

    /**
     * 内容展示类型，默认、换行、按分隔符，默认换行展示
     * */
    boolean showType() default false;

    /**
     * 分隔符 showType选择分隔符显示
     * */
    String separator() default ",";
    /**
     * 居中方式 默认居左
     */
    TextAlignment textAlignment() default TextAlignment.LEFT;

    /**
     * 内容类型：文本、图片、表格，默认文本
     */
    ContextTypeEnums contextType() default ContextTypeEnums.TEXT;

    /**
     * 图片大小
     * */
    float scaledWidth() default 100; // 设置宽度(毫米)
    float scaledHeight() default 100; // 设置高度(毫米)
    /**
     * 第几行 默认按添加顺序排序
     * */
    float rowNo() default -1;
    /**
     * 第几列 默认按添加顺序排序
     * */
    float ColNo() default -1;

    /**
     * 第几列 默认按添加顺序排序
     * */
    float tableColWidth() default 50;

    /**
     * 设置边框
     * */
    boolean border() default false;

    /**
     * 设置字体大小
     * */
    int fontSize() default 9;
}
